const tabMixin = {
	data() {
		return {
			isCanUpdate: false,
			reachCallback: null,
			_list: [],
			pageParams: {
				pageNum: 1,
				pageSize: 10
			}
		}
	},

	onReachBottom() {
		reachCallback && this._tabPageReachBottom_on_mixins(reachCallback)
	},
	// 用于每次tab外的page打开时，刷新内部的组件
	methods: {
		// 页面触底的时候调用页面加一
		async _tabPageReachBottom_on_mixins(reachCallback) {
			if (this.isCanUpdate) {
				this.pageParams.pageNum += 1;
				const res = await reachCallback();
			}
		},

		/*  
		 * target {Array} 目标数据 
		 * data {Array} 需要合并的数据 
		 * dataCallback {Function} 合并数据时候的回调
		 * noDataCallback {Function} 数据为空时候的回调 
		 */
		_tabReachBottom_dataUpadte_mixins(target = [], data = []) {
			return new Promise((resolve, reject) => {
				if (data.length >= this.pageParams.pageSize) {
					resolve(target.concat(data));
				} else {
					this.isCanUpdate = false;
					resolve(target.concat(data));
				}
			})

		},
	}

}
export default tabMixin